1. Field of the Invention
The present invention relates to an impurity quantity transfer device which conducts, in numerical analysis of a semiconductor device, integral interpolation of impurity quantities among meshes generated on a semiconductor device to be processed for use in process device simulation and an impurity interpolation method thereof.
2. Description of the Related Art
At the oxidation and diffusion steps of a semiconductor manufacturing process, configuration of a semiconductor to be processed changes through the steps. For reproducing such a phenomenon by using a process simulator, configuration and a diffusion time are discretized, respectively. Discretization is employed because a diffusion equation used for oxidation and diffusion is non-linear and also because such a strong non-linear physical phenomenon as initial accelerating oxidation exists.
As a conventional technique of space discretization by a two-dimensional (2D) process simulator, the control volume method (hereinafter referred to as C.V. method) having excellent configuration-adaptability is widely used. In the C.V. method, space is represented by triangular meshes on which a control volume is defined with respect to each grid point (mesh point). Control volume denotes a polygon obtained by finding circumcenters of triangular elements having a relevant mesh point as a vertex and sequentially connecting the circumcenters of adjacent triangles (i.e. triangle sharing a side). Such a control volume obtained as a polygon is a grid-based control volume. In the C.V. method, a flow of physical quantities (e.g. current) on a mesh edge is represented as a quantity obtained by multiplying a density of the flow (e.g. current density) on the edge in question by a length of a side of a control volume which side crosses with the mesh edge in question (in general, referred to as a cross section also in two-dimensional space).
Depending on the configuration of a triangular mesh, however, sequentially connecting circumcenters of adjacent mesh triangles in a manner as mentioned above fails to have one (convex) polygon. In other words, sides of a control volume cross with each other. In this case, a cross section of the control volume takes a negative value in calculation, so that a flow of physical quantities on a mesh edge will be in the opposite direction to a density of the flow, causing increase in analysis errors.
To prevent such a situation, Delaunay division is employed. A line connecting circumcenters of mesh triangles fails to form a (convex) polygon when within a circumcircle of a predetermined triangular element on meshes, a vertex of other triangular element exists. It is therefore necessary to divide the meshes such that inside each circumcircle of every triangular element on the meshes, there falls none of the mesh points of other triangular elements. Such division is called Delaunay division. In the simulation employing the C.V. method, ensuring a calculation precision requires the Delaunay division to be ensured for a mesh as a unit of discretization of configuration.
In the simulation of an oxidation process, configuration of a semiconductor changes with time as mentioned above. When the configuration changes during the simulation due to oxidation processing, regeneration of a mesh is needed for ensuring the Delaunay division. On this occasion, it is necessary to transfer an impurity value defined with respect to a mesh yet to be regenerated to a regenerated mesh. In the C.V. method, an impurity concentration is defined with a mesh point (grid point) existing one in a control volume as a representative point.
Methods of defining an impurity concentration at a regenerated mesh include a method by analytical calculation of an impurity concentration as is used for log alignment and a method employing integral interpolation in which dose is preserved. For highly precise diffusion simulation, the integral interpolation method in which dose is preserved is employed. At a pn junction portion where an impurity concentration difference between grids is large, however, pseudo diffusion occurs which is a phenomenon of transfer of impurity quantities toward a grid of low impurity value caused as a result of impurity interpolation.
FIG. 8 is a flow chart showing a procedure of an integral interpolation method. First, with respect to a regenerated mesh, a grid-based control volume is defined (Step 801). Next, with respect to a mesh yet to be regenerated, a grid-based control volume is defined (Step 802). A grid-based control volume is a polygonal region obtained by connecting a circumcenter of each triangular element sharing a grid point as described above.
Next, the grid-based control volume for the mesh yet to be regenerated is converted into a control volume triangle (hereinafter referred to as C.V. triangle) on a triangular mesh basis (Step 803). A triangular-mesh-based C.V. triangle represents a region divided by the respective sides of triangular elements on triangular meshes and the respective sides of the above-described grid-based control volume (polygon). Impurity concentration at each C.V triangle is made equal to an impurity concentration at an original grid-based control volume. Impurity quantities is therefore distributed in proportion to an area of a C.V. triangle.
Next, an area of overlap (hereinafter referred to as overlap area) is calculated between a pattern of a grid-based control volume on the regenerated mesh and a triangular-mesh-based C.V. triangle on the mesh yet to be regenerated (Step 804). After the calculation of an overlap area, an impurity quantity within the C.V. triangle proportional to the calculated overlap area is transferred to the grid-based control volume on the regenerated mesh (Step 805). After the transfer, determination is made whether the impurity quantities of all the C.V. triangles have been transferred to the grid-based C.V. on the regenerated mesh (Step 806), and when the transfer is yet to be completed, Steps 804 and 805 will be repeated and when it is completed, integral interpolation of impurities is finished.
Consideration will be given to change of an impurity concentration, that is, pseudo diffusion, occurring when integral interpolation of impurities is conducted by the above-described conventional impurity interpolation method. Here, vertical profiles are obtained assuming that with a space between meshes fixed on the premise of one-dimensional structure, integral interpolation is conducted with only a position of a mesh staggered by half a cycle. The obtained result is shown in FIG. 9. In FIG. 9, a curve 901 represents an initial impurity profile, a curve 902 represents an impurity profile obtained after the integral interpolation is conducted once by the above method, and curves 903 and 904 represent impurity profiles obtained after the integral interpolation is conducted ten times and 100 times by the above method, respectively.
In the above-described conventional method, when a region of a control volume on a regenerated mesh bridges a control volume region of extremely high impurity concentration and a control volume region of low impurity concentration on a mesh yet to be regenerated due to impurity interpolation, so a large quantity of impurities will be transferred from the region of high impurity concentration toward the region of low concentration, that transfer of the impurity quantities within the region of lower impurity concentration is negligible. As a result, the impurity quantity is propagated toward the region of lower impurity concentration to cause large pseudo diffusion. As can be seen from FIG. 9, as few as ten times of repetition of impurity interpolation causes large pseudo diffusion.
In the simulation of oxidation steps, one oxidation step is divided into several time-steps to calculate time required for one oxidation step. Since one step is in common divided into approximately ten for calculation, the conventional method in which obvious pseudo diffusion appears by approximately ten times of impurity interpolation enables no simulation of oxidation step to have high precision. Under these circumstances, realization of an impurity interpolation method involving reduced pseudo diffusion has been demanded.
As described above, since a conventional impurity interpolation method conducts integral interpolation of impurity quantities for the transfer of impurities between meshes on the premise that impurity concentration is uniform within a control volume, if a difference in impurity concentration between meshes is large, a higher impurity concentration value will be dominant at a region whose concentration gradient is sharp to cause large pseudo diffusion.
Furthermore, since in a conventional method, no estimate of errors caused by pseudo diffusion is made at the time of integral interpolation of impurities, introduction of the processing for reducing errors caused by the pseudo diffusion is impossible.
Oxidation process simulation and diffusion simulation using an adaptive mesh which follows an impurity concentration require processing of regenerating a mesh. The mesh regeneration processing then requires interpolation of impurities between a mesh yet to be regenerated and a regenerated mesh. Integral interpolation of impurities by the above-described conventional method causes pseudo diffusion, and particularly in the vicinity of a pn junction in which a gradient of a profile concentration is sharp, causes obvious pseudo diffusion, resulting in changing the profile to have a moderate concentration gradient.
An object of the present invention is to provide an impurity quantity transfer device capable of obtaining an accurate impurity concentration distribution with reduced pseudo diffusion even at a region whose impurity concentration gradient is sharp and an impurity interpolation method thereof.
Another object of the present invention is to provide an impurity quantity transfer device capable of conducting integral interpolation of impurities to high precision by the integral interpolation of impurities, estimating errors caused by pseudo diffusion and adding a mesh point when the precision is insufficient and an impurity interpolation method thereof.
According to the first aspect of the invention, in semiconductor device process simulation, an impurity quantity transfer device which transfers, according to deformation of a semiconductor device, an impurity value defined on a first mesh generated on the semiconductor device before the deformation to a second mesh generated on the semiconductor device after the deformation, comprises
control volume generation means for generating, on the second mesh, a grid-based control volume region bridging a plurality of mesh elements,
subdivisional control volume generation means for generating, on the first mesh, a mesh-based control volume subdivisional on a mesh element basis,
impurity quantity calculation means for calculating a sum of impurity quantities corresponding to each grid point on the first mesh based on a total area of the mesh-based control volume surrounding the grid point and an impurity concentration at the grid,
impurity quantity setting means for tentatively setting, with respect to the mesh-based control volume, an impurity concentration of the control volume by using an impurity concentration of each vertex of mesh elements on the first mesh covering the control volume, as well as determining an impurity concentration of each the mesh-based control volume by using the tentative set value and a conversion coefficient which will be described later,
impurity quantity comparison means for accumulating, based on an area of each the mesh-based control volume connected to a grid point on the first mesh and an impurity concentration tentatively set by the impurity quantity setting means, impurity quantities corresponding to the grid point on the first mesh, as well as comparing a sum of impurity quantities calculated by the impurity quantity calculation means and the accumulated impurity quantities to obtain a conversion coefficient allowing the compared values to agree with each other, and
impurity quantity transfer means for calculating, with respect to each the mesh-based control volume, an area of an overlap region between the mesh-based control volume and the grid-based control volume region on the second mesh and transferring an impurity quantity of the mesh-based control volume to the grid-based control volume region on the second mesh according to the calculated area to calculate an impurity quantity corresponding to each grid point on the second mesh.
In the preferred construction, the impurity quantity transfer means divides a calculated impurity quantity corresponding to each grid point on the second mesh by an area of a grid-based control volume on the second mesh to determine an impurity concentration corresponding to each grid point on the second mesh.
In the preferred construction, the impurity quantity setting means
takes an impurity concentration obtained by the linear interpolation based on an impurity concentration of each vertex of mesh elements on the first mesh as a tentative set value of an impurity concentration at the control volume in question, and
determines, as an impurity concentration at the control volume in question, a value obtained by multiplying the tentative set value by a conversion coefficient xe2x80x98xcex1xe2x80x99 obtained by the impurity quantity comparison means according to the following expression:   α  =                                          sum            ⁢                          xe2x80x83                        ⁢            of            ⁢                          xe2x80x83                        ⁢            impurity            ⁢                          xe2x80x83                        ⁢            quantities            ⁢                          xe2x80x83                        ⁢            in                                                                          C              .              V              .                              xe2x80x83                            ⁢              held                        ⁢                          xe2x80x83                        ⁢            by            ⁢                          xe2x80x83                        ⁢            the            ⁢                          xe2x80x83                        ⁢            grid            ⁢                          xe2x80x83                        ⁢            in            ⁢                          xe2x80x83                        ⁢            question                                                                                  sum              ⁢                              xe2x80x83                            ⁢              of              ⁢                              xe2x80x83                            ⁢              impurity              ⁢                              xe2x80x83                            ⁢              quantities              ⁢                              xe2x80x83                            ⁢              in                        ⁢                          xe2x80x83                                                                                      C              .              V              .                              xe2x80x83                            ⁢              triangles                        ⁢                          xe2x80x83                        ⁢            containing            ⁢                          xe2x80x83                        ⁢            the            ⁢                          xe2x80x83                        ⁢            grid            ⁢                          xe2x80x83                        ⁢            in            ⁢                          xe2x80x83                        ⁢            question                              
In another preferred construction, the impurity quantity setting means
takes an impurity concentration obtained by the linear interpolation based on an impurity concentration of each vertex of mesh elements on the first mesh as a tentative set value of an impurity concentration at the control volume in question, and
determines, as an impurity concentration at the control volume in question, a value obtained by multiplying the tentative set value by a conversion coefficient xe2x80x98xcex1xe2x80x99 obtained by the impurity quantity comparison means according to the following expression:   α  =                                          sum            ⁢                          xe2x80x83                        ⁢            of            ⁢                          xe2x80x83                        ⁢            impurity            ⁢                          xe2x80x83                        ⁢            quantities            ⁢                          xe2x80x83                        ⁢            in                                                                          C              .              V              .                              xe2x80x83                            ⁢              held                        ⁢                          xe2x80x83                        ⁢            by            ⁢                          xe2x80x83                        ⁢            the            ⁢                          xe2x80x83                        ⁢            grid            ⁢                          xe2x80x83                        ⁢            in            ⁢                          xe2x80x83                        ⁢            question                                                                                  sum              ⁢                              xe2x80x83                            ⁢              of              ⁢                              xe2x80x83                            ⁢              impurity              ⁢                              xe2x80x83                            ⁢              quantities              ⁢                              xe2x80x83                            ⁢              in                        ⁢                          xe2x80x83                                                                                      C              .              V              .                              xe2x80x83                            ⁢              triangles                        ⁢                          xe2x80x83                        ⁢            containing            ⁢                          xe2x80x83                        ⁢            the            ⁢                          xe2x80x83                        ⁢            grid            ⁢                          xe2x80x83                        ⁢            in            ⁢                          xe2x80x83                        ⁢            question                              
the impurity quantity transfer means divides a calculated impurity quantity corresponding to each grid point on the second mesh by an area of a grid-based control volume on the second mesh to determine an impurity concentration corresponding to each grid point on the second mesh.
In another preferred construction, the impurity quantity transfer device further comprises
error calculation means for calculating an error caused by pseudo diffusion in integral interpolation by using an impurity concentration determined by the impurity quantity setting means, and
local mesh generation means for generating, when determination is made that the error calculated by the error calculation means will be not less than a predetermined value, a local mesh so as to reduce the error.
In another preferred construction, the impurity quantity transfer device further comprises
error calculation means for calculating an error caused by pseudo diffusion in integral interpolation by using an impurity concentration determined by the impurity quantity setting means, and
local mesh generation means for generating, when determination is made that the error calculated by the error calculation means will be not less than a predetermined value, a local mesh so as to reduce the error, wherein
the impurity quantity transfer means divides a calculated impurity quantity corresponding to each grid point on the second mesh by an area of a grid-based control volume on the second mesh to determine an impurity concentration corresponding to each grid point on the second mesh.
In another preferred construction, the impurity quantity transfer device further comprises
error calculation means for calculating an error caused by pseudo diffusion in integral interpolation by using an impurity concentration determined by the impurity quantity setting means, and
local mesh generation means for generating, when determination is made that the error calculated by the error calculation means will be not less than a predetermined value, a local mesh so as to reduce the error, wherein
the impurity quantity setting means
takes an impurity concentration obtained by the linear interpolation based on an impurity concentration of each vertex of mesh elements on the first mesh as a tentative set value of an impurity concentration at the control volume in question, and
determines, as an impurity concentration at the control volume in question, a value obtained by multiplying the tentative set value by a conversion coefficient xe2x80x98xcex1xe2x80x99 obtained by the impurity quantity comparison means according to the following expression:   α  =                                          sum            ⁢                          xe2x80x83                        ⁢            of            ⁢                          xe2x80x83                        ⁢            impurity            ⁢                          xe2x80x83                        ⁢            quantities            ⁢                          xe2x80x83                        ⁢            in                                                                          C              .              V              .                              xe2x80x83                            ⁢              held                        ⁢                          xe2x80x83                        ⁢            by            ⁢                          xe2x80x83                        ⁢            the            ⁢                          xe2x80x83                        ⁢            grid            ⁢                          xe2x80x83                        ⁢            in            ⁢                          xe2x80x83                        ⁢            question                                                                                  sum              ⁢                              xe2x80x83                            ⁢              of              ⁢                              xe2x80x83                            ⁢              impurity              ⁢                              xe2x80x83                            ⁢              quantities              ⁢                              xe2x80x83                            ⁢              in                        ⁢                          xe2x80x83                                                                                      C              .              V              .                              xe2x80x83                            ⁢              triangles                        ⁢                          xe2x80x83                        ⁢            containing            ⁢                          xe2x80x83                        ⁢            the            ⁢                          xe2x80x83                        ⁢            grid            ⁢                          xe2x80x83                        ⁢            in            ⁢                          xe2x80x83                        ⁢            question                              
According to the second aspect of the invention, in semiconductor device process simulation, an impurity interpolation method of transferring, according to deformation of a semiconductor device, an impurity value defined on a first mesh generated on the semiconductor device before the deformation to a second mesh generated on the semiconductor device after the deformation, comprising the steps of generating, on the second mesh, a grid-based control volume region bridging a plurality of mesh elements,
generating, on the first mesh, a mesh-based control volume subdivisional on a mesh element basis,
calculating a sum of impurity quantities corresponding to each grid point on the first mesh based on a total area of the mesh-based control volume surrounding the grid point and an impurity concentration at the grid,
tentatively setting, with respect to the mesh-based control volume, an impurity concentration of the control volume by using an impurity concentration of each vertex of mesh elements on the first mesh covering the control volume,
based on an area of each the mesh-based control volume connected to a grid point on the first mesh and the tentatively set impurity concentration, accumulating impurity quantities corresponding to the grid point on the first mesh,
comparing a sum of impurity quantities calculated at the impurity quantity calculation step and the accumulated impurity quantities to obtain a conversion coefficient allowing the compared values to agree with each other,
determining an impurity concentration of each the mesh-based control volume by using the tentative set value and the conversion coefficient,
calculating, with respect to each the mesh-based control volume, an area of an overlap region between the mesh-based control volume and the grid-based control volume region on the second mesh, and
transferring an impurity quantity of the mesh-based control volume to the grid-based control volume region on the second mesh according to a calculated area to calculate an impurity quantity corresponding to each grid point on the second mesh.
In the preferred construction, the impurity interpolation method further comprising
a step of dividing an impurity quantity corresponding to each grid point on the second mesh calculated at the impurity quantity transfer step by an area of a grid-based control volume on the second mesh to determine an impurity concentration corresponding to each grid point on the second mesh.
In the preferred construction, at the impurity quantity tentative setting step,
an impurity concentration obtained by the linear interpolation based on an impurity concentration of each vertex of mesh elements on the first mesh is taken as a tentative set value of an impurity concentration at the control volume in question, and
at the impurity quantity determination step,
a value obtained by multiplying the tentative set value by a conversion coefficient xe2x80x98xcex1xe2x80x99 obtained by the impurity quantity comparison step according to the following expression is determined as an impurity concentration at the control volume in question:   α  =                                          sum            ⁢                          xe2x80x83                        ⁢            of            ⁢                          xe2x80x83                        ⁢            impurity            ⁢                          xe2x80x83                        ⁢            quantities            ⁢                          xe2x80x83                        ⁢            in                                                                          C              .              V              .                              xe2x80x83                            ⁢              held                        ⁢                          xe2x80x83                        ⁢            by            ⁢                          xe2x80x83                        ⁢            the            ⁢                          xe2x80x83                        ⁢            grid            ⁢                          xe2x80x83                        ⁢            in            ⁢                          xe2x80x83                        ⁢            question                                                                                  sum              ⁢                              xe2x80x83                            ⁢              of              ⁢                              xe2x80x83                            ⁢              impurity              ⁢                              xe2x80x83                            ⁢              quantities              ⁢                              xe2x80x83                            ⁢              in                        ⁢                          xe2x80x83                                                                                      C              .              V              .                              xe2x80x83                            ⁢              triangles                        ⁢                          xe2x80x83                        ⁢            containing            ⁢                          xe2x80x83                        ⁢            the            ⁢                          xe2x80x83                        ⁢            grid            ⁢                          xe2x80x83                        ⁢            in            ⁢                          xe2x80x83                        ⁢            question                              
In another preferred construction, the impurity interpolation method further comprising the steps of
calculating an error caused by pseudo diffusion in integral interpolation by using an impurity concentration determined at the impurity quantity determination step, and
generating, when determination is made that the error calculated at the error calculation step will be not less than a predetermined value, a local mesh so as to reduce the error, wherein
at the overlap area calculation step, targeting each the mesh-based control volume on which the local mesh has been generated, an area of an overlap region is calculated between the mesh-based control volume and the grid-based control volume region on the second mesh, and
the error calculation step, the local mesh generation step, the overlap area calculation step and the impurity quantity transfer step are repeated until the error calculated at the error calculation step goes below the predetermined value.
According to another aspect of the invention, in semiconductor device process simulation, a computer j readable memory storing a computer program for controlling an impurity quantity transfer device which transfers, according to deformation of a semiconductor device, an impurity value defined on a first mesh generated on the semiconductor device before the deformation to a second mesh generated on the semiconductor device after the deformation, the computer program comprising the steps of
generating, on the second mesh, a grid-based control volume region bridging a plurality of mesh elements,
generating, on the first mesh, a mesh-based control volume subdivisional on a mesh element basis,
calculating a sum of impurity quantities corresponding to each grid point on the first mesh based on a total area of the mesh-based control volume surrounding the grid point and an impurity concentration at the grid,
tentatively setting, with respect to the mesh-based control volume, an impurity concentration of the control volume by using an impurity concentration of each vertex of mesh elements on the first mesh covering the control volume,
based on an area of each the mesh-based control volume connected to a grid point on the first mesh and the tentatively set impurity concentration, accumulating impurity quantities corresponding to the grid point on the first mesh,
comparing a sum of impurity quantities calculated at the impurity quantity calculation step and the accumulated impurity quantities to obtain a conversion coefficient allowing the compared values to agree with each other,
determining an impurity concentration of each the mesh-based control volume by using the tentative set value and the conversion coefficient,
calculating, with respect to each the mesh-based control volume, an area of an overlap region between the mesh-based control volume and the grid-based control volume region on the second mesh, and
transferring an impurity quantity of the mesh-based based control volume to the grid-based control volume region on the second mesh according to a calculated area to calculate an impurity quantity corresponding to each grid point on the second mesh.
Other objects, features and advantages of the present invention will become clear from the detailed description given herebelow.